package com.ruoyi.factory.matecount.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.TreeEntity;

/**
 * 物料销售数据对象 t_material_count
 * 
 * @author ljj
 * @date 2024-03-06
 */
public class MaterialCount extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 类型编码0-原料,1-产品,2-半成品 */
//    @Excel(name = "类型编码", dictType = "mtr_type")
    private String type;

    /** erp物料名称 */
    @Excel(name = "物料名称")
    private String erpName;

    /** 物料名称 */
    @Excel(name = "规格")
    private String chinaName;

    /** 物料编码 */
    @Excel(name = "物料编码")
    private String partId;

    /** 物料类型 0-复合剂, 1-单剂 */
    @Excel(name = "物料类型", dictType = "mate_type")
    private String mateType;

    @Excel(name = "单位")
    private String unit;

    /** 消耗数量 */
    @Excel(name = "消耗数量")
    private BigDecimal mateNum;

    /** 销售数量 */
    @Excel(name = "销售数量")
    private BigDecimal proNum;

    /** 合计数量 */
    @Excel(name = "合计数量")
    private BigDecimal totalNum;

    /** 期间时间 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "期间", width = 30, dateFormat = "yyyy-MM")
    private Date periodDate;

//    @Excel(name = "物料分类号码")
    private String mateClassCode;

    /** 数量类型 0-消耗数量 1-销售数量 */
//    @Excel(name = "数量类型", dictType = "num_type")
    private String numType;

    /** 别名 */
//    @Excel(name = "别名")
    private String asName;

    /** bom名称 */
//    @Excel(name = "bom名称")
    private String bomName;

    /** bom版本 */
//    @Excel(name = "bom版本")
    private String bomVar;

    /** 父项目版本 */
//    @Excel(name = "父项目版本")
    private String fatherPartvar;

    /** 期间 */
//    @Excel(name = "期间")
    private String month;

    /** 层次号 */
//    @Excel(name = "层次号")
    private String assembLelevel;

    /** 物料版本 */
//    @Excel(name = "物料版本")
    private String partVar;

    /** 数量 */
//    @Excel(name = "数量")
    private BigDecimal counts;

    /** 年度 */
//    @Excel(name = "年度")
    private String year;

    /** 市场价格 */
//    @Excel(name = "市场价格")
    private BigDecimal marketPrice;

    /** 材料价格 */
//    @Excel(name = "材料价格")
    private BigDecimal price;

    /** 含税单价 */
//    @Excel(name = "含税单价")
    private BigDecimal taxPrice;

    /** 市场价格(含税) */
//    @Excel(name = "市场价格(含税)")
    private BigDecimal marktaxPrice;

    /** 成品价格 */
//    @Excel(name = "成品价格")
    private BigDecimal productPrice;

    /** 直接人工 */
//    @Excel(name = "直接人工")
    private BigDecimal workFee;

    /** 天然气 */
//    @Excel(name = "天然气")
    private BigDecimal gasFee;

    /** 电费 */
//    @Excel(name = "电费")
    private BigDecimal elecFee;

    /** 制造费用 */
//    @Excel(name = "制造费用")
    private BigDecimal makeFee;

    /** 标准合计 */
//    @Excel(name = "标准合计")
    private BigDecimal stTotalFee;

    /** 合计 */
//    @Excel(name = "合计")
    private BigDecimal totalFee;

    /** 毛利率 */
//    @Excel(name = "毛利率")
    private BigDecimal grossProfitRate;

    /** 标准销售价格 */
//    @Excel(name = "标准销售价格")
    private BigDecimal stSalePrice;

    /** 销售价格 */
//    @Excel(name = "销售价格")
    private BigDecimal salePrice;

    /** 时间戳 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "时间戳", width = 30, dateFormat = "yyyy-MM-dd")
    private Date nodeTimesTamp;

    /** 价格时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "价格时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date priceTime;

    /** 备注 */
    @Excel(name = "备注")
    private String marks;

    /** 基期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "基期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date partDate;

    /** root值 */
//    @Excel(name = "root值")
    private String rootCode;

    /** 序列号 */
//    @Excel(name = "序列号")
    private String seqnum;

    public String getMateClassCode() {
        return mateClassCode;
    }

    public void setMateClassCode(String mateClassCode) {
        this.mateClassCode = mateClassCode;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setChinaName(String chinaName) 
    {
        this.chinaName = chinaName;
    }

    public String getChinaName() 
    {
        return chinaName;
    }
    public void setPeriodDate(Date periodDate) 
    {
        this.periodDate = periodDate;
    }

    public Date getPeriodDate() 
    {
        return periodDate;
    }
    public void setMateType(String mateType) 
    {
        this.mateType = mateType;
    }

    public String getMateType() 
    {
        return mateType;
    }
    public void setNumType(String numType) 
    {
        this.numType = numType;
    }

    public String getNumType() 
    {
        return numType;
    }
    public void setMateNum(BigDecimal mateNum) 
    {
        this.mateNum = mateNum;
    }

    public BigDecimal getMateNum() 
    {
        return mateNum;
    }
    public void setProNum(BigDecimal proNum) 
    {
        this.proNum = proNum;
    }

    public BigDecimal getProNum() 
    {
        return proNum;
    }
    public void setTotalNum(BigDecimal totalNum) 
    {
        this.totalNum = totalNum;
    }

    public BigDecimal getTotalNum() 
    {
        return totalNum;
    }
    public void setErpName(String erpName) 
    {
        this.erpName = erpName;
    }

    public String getErpName() 
    {
        return erpName;
    }
    public void setAsName(String asName) 
    {
        this.asName = asName;
    }

    public String getAsName() 
    {
        return asName;
    }
    public void setBomName(String bomName) 
    {
        this.bomName = bomName;
    }

    public String getBomName() 
    {
        return bomName;
    }
    public void setBomVar(String bomVar) 
    {
        this.bomVar = bomVar;
    }

    public String getBomVar() 
    {
        return bomVar;
    }
    public void setFatherPartvar(String fatherPartvar) 
    {
        this.fatherPartvar = fatherPartvar;
    }

    public String getFatherPartvar() 
    {
        return fatherPartvar;
    }
    public void setPartId(String partId) 
    {
        this.partId = partId;
    }

    public String getPartId() 
    {
        return partId;
    }
    public void setMonth(String month)
    {
        this.month = month;
    }

    public String getMonth()
    {
        return month;
    }
    public void setAssembLelevel(String assembLelevel) 
    {
        this.assembLelevel = assembLelevel;
    }

    public String getAssembLelevel() 
    {
        return assembLelevel;
    }
    public void setPartVar(String partVar) 
    {
        this.partVar = partVar;
    }

    public String getPartVar() 
    {
        return partVar;
    }
    public void setCounts(BigDecimal counts)
    {
        this.counts = counts;
    }

    public BigDecimal getCounts()
    {
        return counts;
    }
    public void setYear(String year) 
    {
        this.year = year;
    }

    public String getYear() 
    {
        return year;
    }
    public void setMarketPrice(BigDecimal marketPrice) 
    {
        this.marketPrice = marketPrice;
    }

    public BigDecimal getMarketPrice() 
    {
        return marketPrice;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setTaxPrice(BigDecimal taxPrice) 
    {
        this.taxPrice = taxPrice;
    }

    public BigDecimal getTaxPrice() 
    {
        return taxPrice;
    }
    public void setMarktaxPrice(BigDecimal marktaxPrice) 
    {
        this.marktaxPrice = marktaxPrice;
    }

    public BigDecimal getMarktaxPrice() 
    {
        return marktaxPrice;
    }
    public void setProductPrice(BigDecimal productPrice) 
    {
        this.productPrice = productPrice;
    }

    public BigDecimal getProductPrice() 
    {
        return productPrice;
    }
    public void setWorkFee(BigDecimal workFee) 
    {
        this.workFee = workFee;
    }

    public BigDecimal getWorkFee() 
    {
        return workFee;
    }
    public void setGasFee(BigDecimal gasFee) 
    {
        this.gasFee = gasFee;
    }

    public BigDecimal getGasFee() 
    {
        return gasFee;
    }
    public void setElecFee(BigDecimal elecFee) 
    {
        this.elecFee = elecFee;
    }

    public BigDecimal getElecFee() 
    {
        return elecFee;
    }
    public void setMakeFee(BigDecimal makeFee) 
    {
        this.makeFee = makeFee;
    }

    public BigDecimal getMakeFee() 
    {
        return makeFee;
    }
    public void setStTotalFee(BigDecimal stTotalFee) 
    {
        this.stTotalFee = stTotalFee;
    }

    public BigDecimal getStTotalFee() 
    {
        return stTotalFee;
    }
    public void setTotalFee(BigDecimal totalFee) 
    {
        this.totalFee = totalFee;
    }

    public BigDecimal getTotalFee() 
    {
        return totalFee;
    }
    public void setGrossProfitRate(BigDecimal grossProfitRate) 
    {
        this.grossProfitRate = grossProfitRate;
    }

    public BigDecimal getGrossProfitRate() 
    {
        return grossProfitRate;
    }
    public void setStSalePrice(BigDecimal stSalePrice) 
    {
        this.stSalePrice = stSalePrice;
    }

    public BigDecimal getStSalePrice() 
    {
        return stSalePrice;
    }
    public void setSalePrice(BigDecimal salePrice) 
    {
        this.salePrice = salePrice;
    }

    public BigDecimal getSalePrice() 
    {
        return salePrice;
    }
    public void setNodeTimesTamp(Date nodeTimesTamp) 
    {
        this.nodeTimesTamp = nodeTimesTamp;
    }

    public Date getNodeTimesTamp() 
    {
        return nodeTimesTamp;
    }
    public void setPriceTime(Date priceTime) 
    {
        this.priceTime = priceTime;
    }

    public Date getPriceTime() 
    {
        return priceTime;
    }
    public void setMarks(String marks) 
    {
        this.marks = marks;
    }

    public String getMarks() 
    {
        return marks;
    }
    public void setPartDate(Date partDate) 
    {
        this.partDate = partDate;
    }

    public Date getPartDate() 
    {
        return partDate;
    }
    public void setRootCode(String rootCode) 
    {
        this.rootCode = rootCode;
    }

    public String getRootCode() 
    {
        return rootCode;
    }
    public void setSeqnum(String seqnum) 
    {
        this.seqnum = seqnum;
    }

    public String getSeqnum() 
    {
        return seqnum;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    @Override
    public String toString() {
        return "MaterialCount{" +
                "id='" + id + '\'' +
                ", type='" + type + '\'' +
                ", chinaName='" + chinaName + '\'' +
                ", periodDate=" + periodDate +
                ", mateType='" + mateType + '\'' +
                ", mateClassCode='" + mateClassCode + '\'' +
                ", numType='" + numType + '\'' +
                ", mateNum=" + mateNum +
                ", proNum=" + proNum +
                ", totalNum=" + totalNum +
                ", erpName='" + erpName + '\'' +
                ", asName='" + asName + '\'' +
                ", bomName='" + bomName + '\'' +
                ", bomVar='" + bomVar + '\'' +
                ", fatherPartvar='" + fatherPartvar + '\'' +
                ", partId='" + partId + '\'' +
                ", month='" + month + '\'' +
                ", assembLelevel='" + assembLelevel + '\'' +
                ", partVar='" + partVar + '\'' +
                ", counts='" + counts + '\'' +
                ", year='" + year + '\'' +
                ", marketPrice=" + marketPrice +
                ", price=" + price +
                ", taxPrice=" + taxPrice +
                ", marktaxPrice=" + marktaxPrice +
                ", productPrice=" + productPrice +
                ", workFee=" + workFee +
                ", gasFee=" + gasFee +
                ", elecFee=" + elecFee +
                ", makeFee=" + makeFee +
                ", stTotalFee=" + stTotalFee +
                ", totalFee=" + totalFee +
                ", grossProfitRate=" + grossProfitRate +
                ", stSalePrice=" + stSalePrice +
                ", salePrice=" + salePrice +
                ", nodeTimesTamp=" + nodeTimesTamp +
                ", priceTime=" + priceTime +
                ", marks='" + marks + '\'' +
                ", partDate=" + partDate +
                ", rootCode='" + rootCode + '\'' +
                ", seqnum='" + seqnum + '\'' +
                ", unit='" + unit + '\'' +
                '}';
    }
}
